export default class WeixinServlet {
    public dependent: boolean = false;
    public apiList: string[] = [];
    private defaultApiList: string[] = ['updateAppMessageShareData', 'updateTimelineShareData'];

    public constructor(apiList: string[] = []) {
        const concatApiList: string[] = [...this.defaultApiList, ...apiList];
        this.apiList = Array.from(new Set(concatApiList));
        if (typeof (wx) !== 'undefined') {
            this.dependent = true;
            this.init();
        }
    }

    private async init(): Promise<any> {
        wx.config({
            debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来，若要查看传入的参数，可以在pc端打开，参数信息会通过log打出，仅在pc端时才会打印。
            appId: '', // 必填，公众号的唯一标识
            timestamp: 'timestamp', // 必填，生成签名的时间戳
            nonceStr: 'nonceStr', // 必填，生成签名的随机串
            signature: 'signature', // 必填，签名，见附录1
            jsApiList: this.apiList, // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
        });
    }
}

declare let wx: any;
